package com.indsvr.entity.response;


import lombok.Data;

@Data
public class IndSvrRoot <T> {
    private int status;
    private String msg;
    private T  data;

    public static <F> IndSvrRoot<F> ok(F o){
        IndSvrRoot<F> indSvrRoot = new IndSvrRoot<F>();
        indSvrRoot.status=1;
        indSvrRoot.msg="成功";
        indSvrRoot.data=o;
        return indSvrRoot;
    }

    public static IndSvrRoot<Void> ok(){
        IndSvrRoot<Void> indSvrRoot = new IndSvrRoot<Void>();
        indSvrRoot.status=1;
        indSvrRoot.msg="成功";
        return indSvrRoot;
    }


    public static IndSvrRoot<Void> no(String msg){
        IndSvrRoot<Void> indSvrRoot = new IndSvrRoot<>();
        indSvrRoot.status=0;
        indSvrRoot.msg=msg;
        return indSvrRoot;
    }

    public static IndSvrRoot<Exception> no(Exception e){
        IndSvrRoot<Exception> indSvrRoot = new IndSvrRoot<>();
        indSvrRoot.status=0;
        indSvrRoot.msg=e.getMessage();
        indSvrRoot.data=e;
        return indSvrRoot;
    }

    public static IndSvrRoot<Exception> versionDiscrepancy(String version){
        IndSvrRoot<Exception> indSvrRoot = new IndSvrRoot<>();
        indSvrRoot.status=-1;
        indSvrRoot.msg="前后端版本不匹配，即将转跳地址下载V"+version+"版本，请手动安装";
        return indSvrRoot;
    }
}
